package com.hc.service;

import com.hc.common.bean.PageBean;
import com.hc.domain.Proj;

import com.hc.query.ProjVO;
import com.hc.res.CategoryDTO;
import com.hc.res.ProjListItemDTO;
import com.hc.res.ProjsDTO;
import java.util.List;

/**
 * @author: hecai
 * @date: 2021/11/9 11:17
 * @description:
 */
@SuppressWarnings("all")
public interface ProjService {


    int deleteByPrimaryKey(Long id);

    int insert(Proj proj,String[] categoryName, String[] technologyName,String names);

    int insertSelective(Proj record);

    ProjsDTO selectAllPrimaryKey(Long id);
    /**
     * 添加多个项目
     * @param list
     * @return
     */
    int batchInsert(List<Proj> list);


    Proj selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Proj record);

    int updateByPrimaryKey(Proj record);


    List<Proj> selectByName(String name,Integer status);

    List<Proj> getAllProj( Integer category,String name);

    Proj getProjInfoById(Integer id,Integer category);

    List<Proj> getAllProjByCondition(ProjVO projVO);

    /**
     * 按顶级类别查询出所有的项目
     *
     * @return
     */
    List<CategoryDTO> selectProjsByCategory(String name);


    int changeStateToDelete(Long id);

    PageBean<ProjListItemDTO> showMoreByCondition(Integer fid,Integer cid,Integer pageNum,Integer pageSize);


    /**
     * 查找项目列表
     * @param fid       父类ID
     * @param cid       子类ID
     * @param pName     项目名
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageBean<ProjListItemDTO> showAll(Integer fid, Integer cid,String pName, Integer pageNum, Integer pageSize);
}